<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>水平垂直居中</title>
		<script type="text/javascript">
			var start = new Date().getTime();
		</script>
		<style>
			body {
				background-color: #000;
			}

			.wrapper {
				width: 200px;
				height: 200px;
				background-color: red;
				margin-top: 100px;
				/* border-top:1px solid black; */

				/* position:absolute; */

				/* display:inline-block; */

				/* float:left; */

				/* overflow:hidden; */
			}

			.box {
				width: 50px;
				height: 50px;
				background-color: #eee;
				margin-top: 150px;
				opacity: 0.8;
			}
		</style>
	</head>
	<body>
		<div class="wrapper">
			<div class="box"></div>
		</div>
		<p>兄弟连和兄弟会</p>
		<div id="myDiv"><i>兄弟会</i></div>
		<p>兄弟连</p>
		<script>
			// var myDiv = document.getElementById("#myDiv");
			// console.log(myDiv.nextSibling)
			// for (let index of ['a', 'b'].keys()) {
			// console.log(index);
			// }
			// // 0
			// // 1
			// for (let elem of ['a', 'b'].values()) {
			// console.log(elem);
			// }
			// // 'a'
			// // 'b'
			// for (let [index, elem] of ['a', 'b'].entries()) {
			// console.log(index, elem);
			// }
			// // 0 "a"
			// // 1 "b"

			// window.onload = function(){ 
			//     var time="加载本页耗时 "+(new Date().getTime()-start) +" 毫秒"; 
			//  console.log(time);
			// }
			// var arr = [1,2];

			// console.log(arr.push(6))                // arr:[1,2,6];返回值为3

			// console.log(arr.push('aa'));            // arr:[1,2,6,"aa"];返回值为4
			// console.log(typeof(null))  //object 
			// console.log(typeof(undefined)) //undefined 
			// console.log(null===undefined)  //false 
			// console.log(null==undefined) //true (==会强制转换类型)
			//       var obj={};
			// var arr=[];
			// console.log(Object.prototype.toString.call(arr)) //[object Array]
			// console.log(Object.prototype.toString.call(obj)) //[object Object]
			// // 可以看到 当call()当中用数组的时候打印出的是Array,  用对象的时候打印出的是Object;
			//       function A(){
			//           this.name = "zhang";
			//           this.age = 28;
			//       }

			//       A.prototype.sayName = function(){
			//           return this.name;
			//       }
			//       A.prototype = {
			//           setAge:function(age){
			//           this.age = age;
			//           },
			//           sayAge:function(){
			//           return this.age;
			//           }
			//       };
			// var a = new A("zhang");
			// console.log(a.name);      //zhang
			// console.log(a.age);       //28,读取的默认值
			// a.setAge(22);             //重新设置age的属性值
			// console.log(a.sayAge());  //22  读取新的属性值
			// console.log(a.sayName()); //出错了，提示对象没有sayName方法
			
			
			// var testArray = [23, 500, 1000, 300, 34, -2];
			// testArray.sort();
			// console.log(testArray); //-2,1000,23,300,34,500


			// var testArray = [-2, 53, 34, 300, 500, 1000];
			// testArray.reverse();
			// console.log(testArray); //1000,500,300,34,53,-2

			// var testArray = [23, 500, 1000, 300, 34, -2];
			// //传给sort一个比较函数，如果比较函数return值小于0，则表示a必须出现在b前面，否则在b后面。
			// testArray.sort(function(a, b) {
			// 	return a - b;
			// });
			// console.log(testArray); //-2,23,34,300,500,1000


			// var testArray = ['df', 'rtr', 'wy', 'dafd', 'dfs', 'wefa', 'tyr', 'rty', 'rty', 'ryt', 'afds', 'wer', 'te'];
			// var testArray2 = [23, 500, 1000, 300, 34, -2];

			// //快速排序函数
			// var quickSort = function(arr) {
			// 	if (arr.length <= 1) {
			// 		return arr;
			// 	}

			// 	var pivotIndex = Math.floor(arr.length / 2);
			// 	var pivot = arr.splice(pivotIndex, 1); //将基准分离出

			// 	var left = [];
			// 	var right = [];

			// 	for (var i = 0; i < arr.length; i++) {
			// 		if (arr[i] < pivot) {
			// 			left.push(arr[i]);
			// 		} else {
			// 			right.push(arr[i]);
			// 		}
			// 	}
			// 	return quickSort(left).concat([pivot], quickSort(right));

			// };

			// //调用输出
			// console.log(quickSort(testArray)); //afds,dafd,df,dfs,rtr,rty,rty,ryt,te,tyr,wefa,wer,wy
			// console.log(quickSort(testArray2)); //-2,23,34,300,500,1000
			
			// function urlArgs(str) {
			//     var args = {};
			//     var query = str.substring(0);
			//     var pairs = query.split("&");
			//     for (var i = 0; i < pairs.length; i++) {
			//         var pos = pairs[i].indexOf("=");
			//         if (pos == -1) {
			//             continue;
			//         }
			//         var name = pairs[i].substring(0, pos);
			//         console.log(name);
			//         var value = pairs[i].substring(pos + 1);
			//         args[name] = value;
			// 		console.log(args)
			//     }
			//     return args;
			// }
			// urlArgs("https://www.baidu.com/s?ie=UTF-8&wd=写一个方法提取一下search里面的参数")
			
			// function insertAfter(newNode,existingNode){
			// 	// 获取现有节点的父元素
			// 	const parent = existingNode.parentNode;
			// 	//如果父元素中的最后一个子元素等于现有的节点
			// 	if(parent.lastChild === existingNode){
			// 		//把现有节点放入父元素中子节点的后面
			// 		//appendChild在子节点后面追加一个元素
			// 		parent.appendChild(newNode);
			// 	}else{
			// 		//.nextSibling该属性返回指定节点后的第一个节点
			// 		//insertBefore第一个参数插入的节点对象，第二个参数可选，在其之前插入子节点，如果不传，则在结尾插入
			// 		parent.insertBefore(newNode,existingNode.nextSibling);
			// 	}
			// }
			
			// console.time("A")
			// for (let i=0;i<100000;i++) {
				
			// }
			// console.timeEnd("A");
			
			function fun(){
				var count = 1;
				// 形成闭包
				return function(){
					count++;
					console.log(count);
				}
			}
			var fun2 = fun();
			fun2();//2，第一次打印为2
			fun2();//3  第二次因为count还在，把之前的count给覆盖了，故而count++ 为3
		</script>
	</body>
</html>
